package com.zyz.mybatisplus.pojo;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

@Data
//设置实体类所对应的表名：数据库中对应实体类的表名
//@TableName("t_user")
public class User {

    //如果设置了主键的id，则不会使用自增id

    /**
     * 1、mybatis-plus会默认id为主键。如果数据库中的表主键和实体类的主键不是id（默认两个字段一致）。
     * 需要在实体类字段上添加@TableId属性。
     *
     *  2、如果实体类字段的主键和数据库中表的主键不一致。@TableId注解的value属性用于指定主键的字段
     */
    //将属性对应的字段指定为主键

//    @TableId
//    private Long id;

            //如果只有一个属性，value可以省略 @TableId("uid")
//    @TableId(value = "uid")
//    private Long id;

    /**
     * type指定主键生成的策略。默认采用雪花算法
     * 采用数据库的自增策略：注意：数据库中的该字段设置了id自增，否则无效
     */

    @TableId(value = "uid",type = IdType.AUTO)
    private Long id;

    //指定属性对应的字段名
    @TableField("user_name")
    private String name;

    private Integer age;

    private String email;

    @TableLogic
    private Integer isDeleted;

}
